package com.lvmama.service.rhino.visitor;

import com.github.pagehelper.PageInfo;
import com.lvmama.pojo.entity.rhino.visitors.VisitorInfo;

import java.util.List;

public interface VisitorService {

	/**
	 * @Title: getVisitorListByDate
	 * @Description: 访客趋势图数据
	 * @param @param visitor
	 * @param @return 设定文件
	 * @return List<VisitorInfo> 返回类型
	 * @throws
	 */
	List<VisitorInfo> getVisitorListByDate(VisitorInfo visitor);

	/**
	 * @Title: getVisitorListByPlatform
	 * @Description: 访客柱状图数据
	 * @param @param visitor
	 * @param @return 设定文件
	 * @return List<VisitorInfo> 返回类型
	 * @throws
	 */
	List<VisitorInfo> getVisitorListByPlatform(VisitorInfo visitor);

	/**
	 * @Title: getVisitorListByChannel
	 * @Description: 按平台各渠道数据
	 * @param @param visitor
	 * @param @return 设定文件
	 * @return List<VisitorInfo> 返回类型
	 * @throws
	 */
	List<VisitorInfo> getVisitorListByChannel(VisitorInfo visitor);
	
	
	List<VisitorInfo> getRegisterListByDate(VisitorInfo visitor);

	List<VisitorInfo> getRegisterListByPlatform(VisitorInfo visitor);

	List<VisitorInfo> getRegisterListByChannel(VisitorInfo visitor);

	/**
	 * @Title: insertNewVisitorList
	 * @Description: 插入app新访客
	 * @param @param visitorList 设定文件
	 * @return void 返回类型
	 * @throws
	 */
	void insertNewVisitorList(List<VisitorInfo> visitorList);

	/**
	 * 折线图数据
	 * 
	 * @param sc
	 * @return
	 */
	List<VisitorInfo> getLineList(VisitorInfo sc);

	/**
	 * 折线图安卓ios具体某一天的数据
	 * 
	 * @param sc
	 * @return
	 */
	List<VisitorInfo> getLineAppDetailList(VisitorInfo sc);

	/**
	 * 折线图wap,pc具体某一天的数据
	 * 
	 * @param sc
	 * @return
	 */
	PageInfo<VisitorInfo> getLineOtherDetailList(VisitorInfo sc);

	/**
	 * 柱状图数据
	 * 
	 * @param sc
	 * @return
	 */
	List<VisitorInfo> getColumnarList(VisitorInfo sc);

	/**
	 * 柱状图wap,pc具体某一天的数据
	 * 
	 * @param sc
	 * @return
	 */
	List<VisitorInfo> getColumnarAppDetailList(VisitorInfo sc);

	/**
	 * 柱状图wap,pc具体某一天的数据
	 * 
	 * @param sc
	 * @return
	 */
	PageInfo<VisitorInfo> getColumnarOtherDetailList(VisitorInfo sc);

	/**
	 * wap,pc具体某一条的数据
	 * 
	 * @param sc
	 * @return
	 */
	List<VisitorInfo> getTableDetailList(VisitorInfo sc);
}
